package org.example.xmut.qa.adapter.in.web.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 用户信息DTO (Data Transfer Object)
 * 用于封装用户的基本信息，在不同层之间传输
 *
 * DTO是数据传输对象，主要用于在不同层之间传输数据
 * 这里专门用于传输用户的基本信息，不包含敏感信息如密码
 *
 * @Data Lombok注解，自动生成getter、setter、toString等方法
 * @Builder Lombok注解，提供Builder模式构建对象，使代码更清晰易读
 * @NoArgsConstructor Lombok注解，生成无参构造函数
 * @AllArgsConstructor Lombok注解，生成全参构造函数
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QaInfo {

    /**
     * 用户ID
     *
     * 数据库中的主键，唯一标识一个用户
     * 使用Long类型可以支持更大的数据量
     */
    private Long id;

    /**
     * 问题
     *
     * 用户提出的问题
     */
    private String question;

    /**
     * 答案
     *
     * 系统回复的答案
     */
    private String answer;

}
